# -*- coding: utf-8 -*-
import json
import time
import scrapy


class Shijian(scrapy.Spider):
    name = 'shijian'
    cate_num = {'健康': '396','文化': '397', '明星': '398', '教育': '399', '汽车': '400', '体育': '401', '视频': '402', '娱乐': '403', '中青报': '404',
                '情感': '405', '星座': '406', '旅游': '407', '亲子': '408', '时尚': '409', '游戏': '410', '互联网': '411', '生活': '412',
                '冬奥': '413', 'BTV': '414', '科技': '415', '房产': '416', '搞笑':'430'}

    def start_requests(self):
        base_url = 'https://record.btime.com/getNews?pageRow=10&uid='
        cate_dict = {
            '文化': ['1908549', '1331365', '79745', '138407', '1433014', '524889', '2299980', '1948035', '1668556',
                   '1900310', '1149419', '1590871', '737041', '1921686', '517602', '1705803', '496064', '1708602',
                   '87110', '1447832', '1471161', '1053883', '1548047', '145307', '1628226', ],
            '健康': ['m_3093060713', 'm_655267659', 'm_3067167023', 'm_2970734978', 'm_3093075897', 'm_2798736227',
                   'm_997549494', 'm_3092586885', 'm_2776068758', 'm_2522336505', 'm_2957026011', 'm_2978286627',
                   'm_1915036788'],
            '明星': ['m_2761735952', 'm_3079185109', 'm_3026461681', 'm_2926264963', 'm_3093075896', 'm_3066680297',
                   'm_2651855270', 'm_2777719136', 'm_2829214791', 'm_2556782462', 'm_3092586885', 'm_2632790488',
                   'm_159262466', 'm_1914602745', 'm_1915197337', 'm_1915121040', 'm_2981469981', 'm_1380876643',
                   'm_1914967758', 'm_3047717932', 'm_2733968733', 'm_353374644', 'm_3026163955', 'm_3066738133',
                   'm_3082342990'],
            '互联网': ['m_1915154997', 'm_2532335771', 'm_1915162268', 'm_2506302019', 'm_1915111502', 'm_2772020980',
                    'm_1475770525', 'm_251788024', 'm_3021499495', 'm_3000801789', 'm_1915193440', 'm_3021115094',
                    'm_2880442753', 'm_3093075900', 'm_3031922840', 'm_3031891970', 'm_2777693163', 'm_1368681000',
                    'm_2575921073', 'm_3031887430', 'm_2507180022', 'm_2761082137', 'm_3024022047', 'm_2951916302',
                    'm_2852068546'],
            '游戏': ['m_1915119962', 'm_2702926277', 'm_2772479853', 'm_3099535356', 'm_3092584154', 'm_3006429597',
                   'm_2956262303', 'm_1350169293', 'm_3082342990', 'm_3006437051', 'm_1915204314', 'm_1914729394',
                   'm_2798736227', 'm_1915209835', 'm_2655030970', 'm_2988548501', 'm_3035689843', 'm_3006431141',
                   'm_1471768793', 'm_1915103866', 'm_3003836771', 'm_1915203984', 'm_1380876643', 'm_159262466',
                   'm_49310792'],
            '时尚': ['m_3082342990', 'm_2733968733', 'm_3093060713', 'm_1915200579', 'm_3067167023', 'm_2632790488',
                   'm_2761735952', 'm_2556782462', 'm_3026461681', 'm_1915175837', 'm_181608708', 'm_2696903997',
                   'm_3042927947', 'm_1914970838', 'm_1914601067', 'm_353374644', 'm_1915170880', 'm_778673377',
                   'm_3047717932', 'm_3093075897', 'm_1915197337', 'm_2776068758', 'm_1490168505', 'm_36763860',
                   'm_467038643'],
            '亲子': ['m_3093075896', 'm_1915116308', 'm_3092586885', 'm_2785498877', 'm_2894345969', 'm_2761735952',
                   'm_1048159423', 'm_99666085', 'm_2972384923', 'm_1490214180', 'm_980588158', 'm_1915001213',
                   'm_2956692345', 'm_2970734978', 'm_655267659'],
            '旅游': ['m_3047699117', 'm_159262466', 'm_2798736227', 'm_3070443211', 'm_3092586524', 'm_345681611',
                   'm_2761735952', 'm_3093075899', 'm_232104805', 'm_969965289', 'm_3007125837', 'm_3066892260',
                   'm_696890900', 'm_977531097', 'm_1915188121', 'm_1915147620', 'm_1915116800', 'm_3024022047',
                   'm_2798436985', 'm_1269363896', 'm_3093075900', 'm_1915293978', 'm_1915176008', 'm_1915177420',
                   'm_566971724'],
            '星座': ['m_159262466', 'm_3008422776', 'm_1915148175', 'm_1044608309', 'm_3093060713', 'm_1915144880',
                   'm_1915153296', 'm_3082342990', 'm_1915157913', 'm_1915213990', 'm_1915173584', 'm_997549494',
                   'm_2910912978', 'm_1915208813', 'm_2743521896', 'm_1492342404'],
            '情感': ['m_3031904855', 'm_3092586885', 'm_3047717932', 'm_1399088988', 'm_2970734978', 'm_3026461681',
                   'm_1044608309', 'm_1028118063', 'm_1915210379', 'm_1915177079', 'm_2785480675', 'm_3066892260',
                   'm_159262466', 'm_2761735952', 'm_1915161226', 'm_1914611808', 'm_1915259931', 'm_1915211662',
                   'm_2674290918', 'm_2988448610', 'm_2733968733', 'm_2798515934', 'm_1914979895', 'm_1914888869',
                   'm_1915203171', ],
            '教育': ['m_140969274', 'm_2761735952', 'm_3093060713', 'm_1915134940', 'm_1915079790', 'm_261946721',
                   'm_2761082137', 'm_3026461681', 'm_1380876643', 'm_3066892260', 'm_2686798288', 'm_1915103789',
                   'm_3047717932', 'm_1915179028', 'm_2733968733', 'm_1915170857', 'm_3106295600', 'm_1915105983',
                   'm_1487674293', 'm_1915195002', 'm_2674290918', 'm_1914611808', 'm_3093075897', 'm_3067167023',
                   'm_1915032916'],
            '娱乐': ['m_3026461681', 'm_1380876643', 'm_2556782462', 'm_3093075898', 'm_2651855270', 'm_3066680297',
                   'm_2777719136', 'm_2926264963', 'm_1915111748', 'm_2829214791', 'm_3093060713', 'm_2761735952',
                   'm_2632790488', 'm_3047717932', 'm_2975159745', 'm_2981469981', 'm_159262466', 'm_1269363896',
                   'm_1380876643', 'm_2798736227', 'm_3092586885', 'm_3079185109', 'm_1044608309', 'm_2897224771'],
            '体育': ['m_3092584154', 'm_3093075898', 'm_1044608309', 'm_3040267490', 'm_2510349761', 'm_2573077236',
                   'm_2761735952', 'm_2743521896', 'm_2982908659', 'm_159262466', 'm_2625879589', 'm_1915116599',
                   'm_1036515326', 'm_2798515934', 'm_1915180082', 'm_2598088430', 'm_1471102635', 'm_3042949317',
                   'm_3067167023', 'm_3066892260', 'm_2895164634', 'm_160290132'],
            '汽车': ['m_2575921073', 'm_3093075900', 'm_3066892260', 'm_1915184045', 'm_3099619440', 'm_99343714',
                   'm_1915145490', 'm_159262466', 'm_99343714', 'm_3033003653', 'm_3099619440', 'm_1341409826',
                   'm_2756849202', 'm_3101449858', 'm_2642691339', 'm_1915115603', 'm_2761735952', 'm_3031915462',
                   'm_2979527730', 'm_1471697748', 'm_2988388743', 'm_2772363169', 'm_2927322135', 'm_2626059635'],
            '房产': ['m_3093075893', 'm_631545633', 'm_1915156437', 'm_3072289615', 'm_1914957783', 'm_1206502624',
                   'm_1915170735', 'm_2761735952', 'm_3028696109', 'm_1915121662', 'm_3099336505', 'm_2988448610',
                   'm_2761735952', 'm_2976031375', 'm_1915117444', 'm_3033047819', 'm_2988448610', 'm_1206502624'],
            '科技': ['m_159262466', 'm_38461574', 'm_99343714', 'm_2674290918', 'm_3066892260', 'm_2506302019',
                   'm_3082643018', 'm_1915162268', 'm_2655030970', 'm_3035572685', 'm_1915266201', 'm_1915181075',
                   'm_2772020980', 'm_2575921073', 'm_3093060713', 'm_1475770525', 'm_3021736445', 'm_2761082137'],
            '生活': ['1920355', '1802568', '1606257', '668416', '1627864', '1413004', '1749175', '1744136', '520024',
                   '1124558', '887737', '584799', '2018291', '1810458', '374854', '1821392', '321521', '451458',
                   '321521', '103351', '1522896', '1608238', '1516968', '1010306', '481159', '1567998', '591365',
                   '1815888', '146579', '216010', '653915', '2201165', '1646645', '1679404', '1624923', '1636812',
                   '1980901', '84608', '2062062', '1780050', '1941196', '481115', '2003899', '1743465'],
            '搞笑': ['m_1914697743', 'm_1914610158', 'm_1914607192', ],
        }

        for i in cate_dict:
            for u in cate_dict[i]:
                item = {}
                url = base_url + u
                item['cate'] = i
                yield scrapy.Request(url, callback=self.parse, meta={"item": item})

    def parse(self, response):
        item = response.meta["item"]
        cate = item['cate']
        con = json.loads(response.body)
        for i in con['data']:
            item = {}
            item['title'] = i['data']['title']
            item['url'] = i['open_url']
            item['browse_count'] = str(float(i['data']['watches'].replace('万', '')) * 10000).split('.')[0] if '万' in \
                                          i['data']['watches'] else i['data']['watches']  # 阅读量
            item['comment_count'] = 0  # 评论数
            if int(item['browse_count'])>1000:
                item['comment_count']=int(int(item['browse_count'])/950)+3
            item['publish_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(int(i['data']['pdate'])))
            item['spider_time'] = time.strftime("%Y-%m-%d %X", time.localtime())
            item['author'] = i['data']['source']
            item['site_id'] = "112"  # 站点分类
            item['site_classify_id'] = self.cate_num[cate]
            # print(item)
            yield item
